// ----------------------------------
// RSDK Project: Sonic 1/Sonic 2
// Script Description: Dust Puff Object
// Script Author: Christian Whitehead/Simon Thomley
// Unpacked by Rubberduckycooly's script unpacker
// ----------------------------------

// Aliases
private alias 20 : TYPE_DUSTPUFF

private alias object.propertyValue : object.targetPlayer


event ObjectMain

	// Update object movement
	object.xpos += object.xvel
	object.ypos += object.yvel

	switch object.frame
	case 0
	case 1
	case 2
	case 3
	case 4
	case 5
	case 6
		object.animationTimer++
		if object.animationTimer > 1
			object.frame++
			object.animationTimer = 0
		end if
		break

	case 7
		object.animationTimer++
		if object.animationTimer > 1
			object.frame = 0
			object.animationTimer = 0
		end if
		break
	case 8
	case 9
	case 10
	case 11
	case 12
	case 13
	case 14
		object.animationTimer++
		if object.animationTimer > 1
			object.frame++
			object.animationTimer = 0
		end if
		break

	case 15
		object.animationTimer++
		if object.animationTimer > 1
			object.frame = 8
			object.animationTimer = 0
		end if
		break
	end switch

end event


event ObjectDraw
		// Spindash dust variant

		// Seek into this object's targeted player
		currentPlayer = object.targetPlayer

		// Make the values match
		object.direction = object[currentPlayer].direction
		object.xpos = object[currentPlayer].xpos
		object.iypos = object[currentPlayer].collisionBottom
		object.ypos += object[currentPlayer].ypos

		// Erase this object if the pllayer isn't spindashing
		if object[currentPlayer].animation != ANI_SPINDASH
			object.type = TypeName[Blank Object]
		else
			DrawSpriteFX(object.frame, FX_FLIP, object.xpos, object.ypos)
		end if
end event


event ObjectStartup

	LoadSpriteSheet("Global/Items.gif")

	// Dust frames
		SpriteFrame(-32, -8, 27, 10, 52, 242) //0
		SpriteFrame(-32, -13, 26, 15, 80, 237)
		SpriteFrame(-33, -16, 27, 18, 107, 233)
		SpriteFrame(-33, -17, 27, 19, 135, 232)
		SpriteFrame(-36, -18, 30, 21, 163, 231)
		SpriteFrame(-37, -21, 31, 25, 194, 227)
		SpriteFrame(-32, -10, 27, 12, 226, 240)
		SpriteFrame(-29, -6, 24, 8, 227, 231)

		//super frames
		SpriteFrame(-47, -37, 42, 40, 378, 262) //8
		SpriteFrame(-50, -38, 45, 40, 421, 262)
		SpriteFrame(-50, -38, 45, 41, 467, 261)
		SpriteFrame(-48, -36, 43, 39, 421, 304)
		//temp frames
		SpriteFrame(-49, -38, 44, 39, 378, 345)
		SpriteFrame(-46, -39, 39, 39, 424, 345)
		SpriteFrame(-46, -39, 39, 39, 464, 345)
		SpriteFrame(-48, -36, 43, 39, 378, 305)



	
end event

event RSDKDraw
	DrawSprite(0)
end event

event RSDKLoad
	LoadSpriteSheet("Global/Display.gif")
	SpriteFrame(-16, -16, 32, 32, 1, 143)
end event
